/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.songs.dao;

import br.com.fatecpg.songs.entity.Persistent;
import java.io.Serializable;
import java.util.List;

/**
 *
 * @author Marcos
 */
public interface GenericDAO<E extends Persistent> {
                        
    /**
     *
     * @param id
     * @return
     */
    public E load(Serializable id);
    
    /**
     *
     * @param persistent
     */
    public void save(E persistent);
    
    /**
     *
     * @param persistent
     */
    public void update(E persistent);
    
    /**
     *
     * @param persistent
     */
    public void delete(E persistent);
    
    /**
     *
     * @return
     */
    public List<E> list();    
}
